package com.tledu.classes;

/**
 * 学生的类
 */
public class Student {
    /**
     * 添加了一个name的属性
     */
    public String name;
    public int age;
     String college;

    public String major;

    /**
     * 静态变量
     */
    public static String school = "河北经贸大学";



    // 构造函数： 创建实例的时候会执行的函数
    // 如果我们没有声明任何构造函数的时候，会有一个无参构造
    // public + 类名定义构造函数

    // 方法的重载
    public Student() {

    }

    public Student(String name) {
        // 设置到当前对象之中
        // this, this指向当前对象
        this.name = name;
    }

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }


    public void study() {
        System.out.println(name + "开始学习了" + major);
    }

    public void study(String name) {
        // 如果我们希望获取当前实例的某一个属性的时候，可以通过this关键字获取
        System.out.println("传入的局部变量的名字是:"+name);
        System.out.println("实例上的名字是:"+this.name);
        // this指向不能在静态方法中使用，指向当前实例，静态方法不归属于实例的，静态方法是无法使用this的
        // 静态方法
        // 静态属性
    }

    public static void testStatic() {
        System.out.println("这是一个静态方法");
//        Student.school = "河北科技大学";
        school = "河北科技大学";
    }

    // 只要是参数不一致即可，个数或者类型有一个不一致就可以
    public void study(int hour) {
        System.out.println("学习了:"+hour+"个小时");
    }



    // 方法的重载。 同名函数的参数是不能一样的
}
